home *** CD-ROM | disk | FTP | other *** search
- /*
- // RockSprite.h
- //
- // Created: 6/18/92 at 4:41:49 PM
- // By: Tony Myles
- //
- // Copyright © 1992 Tony Myles, All rights reserved worldwide.
- //
- */
-
-
- #ifndef __ROCKSPRITE__
- #define __ROCKSPRITE__
-
- #ifndef __SPRITEWORLD__
- #include "SpriteWorld.h"
- #endif
-
-
- // space rock constants
- enum
- {
- kNumberOfRockSizes = 3,
- kNumberOfLargeRockSprites = 8,
- kNumberOfMediumRockSprites = kNumberOfLargeRockSprites * 2,
- kNumberOfSmallRockSprites = kNumberOfMediumRockSprites * 2,
- kTotalNumberOfRockSprites = kNumberOfLargeRockSprites + kNumberOfMediumRockSprites + kNumberOfSmallRockSprites,
- kNumberOfLargeRockFrames = 24,
- kNumberOfMediumRockFrames = 16,
- kNumberOfSmallRockFrames = 12,
- kTotalRockFrames = kNumberOfLargeRockFrames + kNumberOfMediumRockFrames + kNumberOfSmallRockFrames,
- kFirstRockFrame = 0,
- kLastLargeRockFrame = kNumberOfLargeRockFrames - 1,
- kLastMediumRockFrame = kNumberOfMediumRockFrames - 1,
- kLastSmallRockFrame = kNumberOfSmallRockFrames - 1,
- kLargeRockFrameResID = 128,
- kMediumRockFrameResID = 228,
- kSmallRockFrameResID = 328,
- kRockTickDelay = 60
- };
-
-
- // rock sprite data structure
- typedef struct
- {
- SpritePtr largeRockSpriteArray[kNumberOfLargeRockSprites];
- SpritePtr mediumRockSpriteArray[kNumberOfMediumRockSprites];
- SpritePtr smallRockSpriteArray[kNumberOfSmallRockSprites];
- SpriteWorldPtr rockSpriteWorldP;
- SpriteLayerPtr rockSpriteLayerP;
- char mediumRockInd;
- char smallRockInd;
- Rect rockWrapRect;
- } RockSpriteInfoRec, *RockSpriteInfoPtr, **RockSpriteInfoHdl;
-
-
- // function prototypes
- OSErr CreateRockSpriteInfo(RockSpriteInfoPtr* rockSpriteInfoP, SpriteWorldPtr spriteWorldP, SpriteLayerPtr spriteLayerP);
- void DisposeRockSpriteInfo(RockSpriteInfoPtr rockSpriteInfoP);
- OSErr CreateRockSpriteArray(RockSpriteInfoPtr rockSpriteInfoP, SpritePtr *rockSpriteArray,
- short rockResID, short numberOfRockFrames, short numberOfRockSprites);
- void SetupRockSpriteInfo(RockSpriteInfoPtr rockSpriteInfoP);
- void LargeRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
- void MediumRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
- void SmallRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
- void RemoveRockMoveProc(SpritePtr rockSpriteP, Point* spritePoint);
-
-
- #endif /* __ROCKSPRITE__ */